package servicos;

import java.util.List;

import persistencia.ProdutoDAO;
import persistencia.base.DAOException;
import persistencia.base.DAOFactory;
import dominio.Produto;

public class ProdutoRN {

	private ProdutoDAO produtoDao = DAOFactory.getProdutoDAO();

	public void salvar(Produto produto) throws FalhaDeInclusaoException {

		try {

			produtoDao.getSession().beginTransaction();
			produtoDao.save(produto);
			produtoDao.getSession().getTransaction().commit();

		} catch (DAOException e) {
			e.printStackTrace();
			throw new FalhaDeInclusaoException();
		}
	}

	public List<Produto> listar() throws FalhaDeInclusaoException {

		try {
			return produtoDao.findAll();

		} catch (DAOException e) {
			e.printStackTrace();
			throw new FalhaDeInclusaoException();
		}
	}

	public void deletar(Produto produto) throws FalhaDeDeletarExcepiton {
		try {
			produtoDao.getSession().beginTransaction();
			produtoDao.delete(produto);
			produtoDao.getSession().getTransaction().commit();

		} catch (DAOException e) {
			e.printStackTrace();
			throw new FalhaDeDeletarExcepiton();
		}

	}

}
